//
//  ListCoordinatorDelegate.h
//  BaseProject
//
//  Created by itzhaolei on 2024/5/15.
//

#ifndef ListCoordinatorDelegate_h
#define ListCoordinatorDelegate_h

@class CommonSectionController;

NS_ASSUME_NONNULL_BEGIN
@protocol ListCoordinatorDelegate <NSObject>

/**
 Reload the list for all the section.

 */
- (void)reloadAllSection;

/**
 Reload the list for only the specified section.

 @param section The section to reload.
 */
- (void)reloadSection:(NSInteger)section;

/**
 Reload the list for only the specified sectionAdapter.

 @param sectionAdapter The sectionAdapter to reload.
 */
- (void)reloadSectionAdapter:(CommonSectionAdapter *)sectionAdapter;

/**
 Reload the list for only the specified sectionController.

 @param sectionController The sectionController to reload.
 */
- (void)reloadSectionController:(CommonSectionController *)sectionController;

/**
 Reload the list for only the specified sectionAdapters.

 @param sectionAdapters The sectionAdapters to reload.
 */
- (void)reloadSectionAdapters:(NSArray <CommonSectionAdapter *> *)sectionAdapters;

/**
 Reset the list for only the specified section.
 
 - 会重新执行 CoordinatorDataSource 代理函数
 */
- (void)resetData;

@end
NS_ASSUME_NONNULL_END

#endif /* ListCoordinatorDelegate_h */
